Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,最新版本为v5.0,支持.NET Framework 4.0,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、
数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。
学习资料
数据访问(Data Access Application Block)Enterprise Library – Data Access Application Block 学习手册(最新版)- Part 1
Enterprise Library – Data Access Application Block 学习手册(最新版)- Part 2
Enterprise Library – Data Access Application Block 学习手册(最新版)- Part 3
异常管理(Exception Handling Application Block)Enterprise Library - Exception Handling Application Block 学习手册(最新版)Part 1
Enterprise Library - Exception Handling Application Block 学习手册(最新版) Part 2
日志管理
(Logging Application Block)
Enterprise Library - Logging Application Block 学习手册(最新版) Part 1
Enterprise Library - Logging Application Block 学习手册(最新版) Part 2
Enterprise Library - Logging Application Block 学习手册(最新版) Part 3
数据验证
(Validation Application Block)
Enterprise Library - Validation Application Block 学习手册(最新版) Part 1
Enterprise Library - Validation Application Block 学习手册(最新版) Part 2
Enterprise Library - Validation Application Block 学习手册(最新版) Part 3
Enterprise Library - Validation Application Block 学习手册(最新版) Part 4
Enterprise Library - Validation Application Block 学习手册(最新版) Part 5
Enterprise Library - Validation Application Block 学习手册(最新版) Part 6
Enterprise Library - Validation Application Block 学习手册(最新版) Part 7
依赖注入容器
(Unity Application Block)
Enterprise Library - Unity Application Block 学习手册(最新版) Part 1
Enterprise Library - Unity Application Block 学习手册(最新版) Part 2
Enterprise Library - Unity Application Block 学习手册(最新版) Part 3
Enterprise Library - Unity Application Block 学习手册(最新版) Part 4
缓存管理
(Caching Application Block)
Enterprise Library - Caching Application Block 学习手册(最新版) Part 1
Enterprise Library - Caching Application Block 学习手册(最新版) Part 2
Enterprise Library - Caching Application Block 学习手册(最新版) Part 3
加密/解密(Cryptography Application Block)Enterprise Library - Cryptography Application Block 学习手册(最新版) Part 1
Enterprise Library - Cryptography Application Block 学习手册(最新版) Part 2
安全管理
(Security Application Block)
Enterprise Library - Security Application Block 学习手册(最新版) Part 1
Enterprise Library - Security Application Block 学习手册(最新版) Part 2
目标
Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。这些应用通常部署广泛且与其他应用和系统相互依赖。另外,他们通常有严格的安全、可靠性和性能需求。
Enterprise Library 的目标如下:
一致性。所有应用程序块都有一致的设计模式和实现方法。
扩展性。所有应用程序块都定义了扩展点,这些扩展点允许开发人员添加自己的代码来定制应用程序块的行为。
易于使用。Enterprise Library 提供了许多易用性的改进,包括图形配置工具,简单的安装过程,以及清晰且更加完整的文档和示例。
集成。Enterprise Library 被设计为在一起很好的工作,并经过测试确认它们可以做到。当然,单独使用应用程序块也是可以的。
优点
应用程序块帮助解决开发人员所面对的从一个项目到下一个项目中的普通问题。它们被设计成对 Microsoft 推荐的用于 .NET 应用程序的最佳实践的封装。也可以很快且容易的添加到.NET应用程序中。例如,数据访问应用程序块提供了对最常使用的 ADO.NET 特征的访问,通过易用的类来暴露它们。在某些情况下,应用程序块也加入了不直接受基本类库支持的功能。
读者需求
此指南面向的是软件架构和软件开发人员。为了从此指南中获取最大的收益,你需要理解下列知识:
Microsoft Visual C# 或 Microsoft Visual Basic .NET
Microsoft .NET Framework
系统要求
使用 Enterprise Library 开发应用程序,你需要下列系统:
Microsoft Windows XP Professional, Windows Server 2003, 或 Windows Vista operating system
Microsoft .NET Framework 2.0 或 3.0。下列模块需要 .NET Framework 3.0 :
验证应用程序块 Windows Communication Foundation (WCF) 适配器
异常处理应用程序块 Windows Communication Foundation (WCF) 异常防护功能
Microsoft Visual Studio 2005 开发系统(下列任何版本):
Microsoft Visual Studio 2005 Standard Edition
Microsoft Visual Studio 2005 Professional Edition
Microsoft Visual Studio 2005 Team Edition for Software Developers
Microsoft Visual Studio 2005 Team Edition for Software Testers
Microsoft Visual Studio 2005 Team Edition for Software Architects
Microsoft Visual Studio 2005 Team Suite
需要注意的是,Enterprise Library 包含了
单元测试的二进制和源代码,需要 Visual Studio 2005 Team Edition 或 NUnit 2.2 之一来运行单元测试。对于如何使用单元测试的使用说明,请参见单元测试。如果修改了单元测试的源码,就需要重新编译,同样这也需要 Visual Studio 2005 Team Edition 或 NUnit 2.2。
要使用应用程序块软件工厂和
强名称指导包,需要 Microsoft Guidance Automation Extensions (GAX) 。要修改和编译这些指导包,需要 Microsoft Guidance Automation Toolkit (GAT)。
要使用数据访问应用块,需要一个运行受 .NET Framework 2.0 数据提供程序支持的数据库的
数据库服务器。这包括 SQL Server 2000 或更新、SQL Server 2005 Compact Edition、Oracle 9i 或更新。数据库服务器也可以运行受用于 OLE DB 或 ODBC 的 .NET Framework 2.0 数据提供程序支持的数据库。
Enterprise Library 3.1(截止2008年6月的最新版本为3.1,4.0正在开发中) 发行包含下列程序块:
缓存应用程序块。开发人员可以使用这个应用程序块向应用程序中加入
本地缓存。
密码应用程序块。开发人员可以使用这个应用程序块向应用程序中加入哈希和
对称加密。
数据访问应用程序块。开发人员可以使用这个应用程序块向应用程序中加入标准数据库功能。
异常处理应用程序块。开发人员和决策者可以使用这个应用程序块创建一个处理发生穿过企业应用架构层异常的固定策略。
日志应用程序块。开发人员可以使用这个应用程序块在应用程序中包含标准的日志功能。
安全应用程序块。开发人员可以使用这个应用程序块向应用程序中加入授权和安全缓存功能。
验证应用程序块。开发人员可以用这个应用程序块为
业务对象创建验证规则,这些规则跨越应用程序不同层。
策略注入应用程序块。开发人员可以使用这个应用程序块实现拦截策略,这用于使普通特征的实现更简单而有效,例如跨越一个应用的日志、
缓存、
异常处理和验证。
Enterprise Library 还包括一个核心功能集,包括配置、度量、对象构建服务。这些功能被所有应用程序块所使用。
Enterprise Library(企业库) 相关课程:
Enterprise Library系列课程(1):概述
Enterprise Library系列课程(2):配置管理应用程序块
Enterprise Library系列课程(3):数据访问应用程序块
Enterprise Library系列课程(4):安全应用程序库
Enterprise Library系列课程(5):日志和监测应用程序块
Enterprise Library系列课程(6):缓存应用程序块
Enterprise Library系列课程(7):Exception Handling Application Block
Enterprise Library系列课程(8):Cryptography Application Block
Enterprise Library系列课程(9):Building your own application block
微软经典案例系列课程(5):企业库在企业应用程序设计中的应用
组合界面应用程序块
企业库5.0
Library 5.0
2010年5月份发布。
企业库5.0是最新的企业库,最主要的变化之一是实例化和管理对象生命周期的全依赖注入的实现,它是企业库对象的创建在整个库中保持一致。能够使用不同的依赖注入容器。Unity是默认的依赖注入容器。这个版本还增加了应用模块数,另外这个版本能够使用vs2008和vs2010,以及
.net框架4.0和包含sp1的3.5。
主要变化:
Unity和对象生成器的整合
在这个版本中,用于创建对象的基本技术是一个单一的依赖注入容器,默认的是Unity。你可以使用容器生成企业库对象的实例并注入到其他的对象。 企业库提供一个标准的接口从Unity容器中来获得定义在企业库配置中的对象的实例,如SqlDatabase或LogWriter.另外,注入友好的实例门面处理静态门面之外是有效的,因为静态门面不能用注入,但是为了
向后兼容以前的版本而存在。在本版本中的示例中都是用依赖注入,但是以前版本中是用的静态工厂类和静态门面在这个版本中还是支持的。对象生成器,一个低版本的依赖注入机制在这个版本中被归入Unity中,在项目中不再需要单独引用对象生成器集。
支持Unity容器,必须引用一个被包含在企业库中的Microsoft.Practices.ServiceLocation程序集。如果要使用一个第3方的依赖注入容器,必须直接实现IServiceLocator接口或者通过适配器实现。
影响所有模块的变化:
1.在企业库中主要修正是使用依赖注入机制。所用的应用模块以及核心系统都是用依赖注入机制,并使用Unity作为默认的依赖注入容器,来创建和管理企业库对象。
2,自主容器的实现通过实现Common Service Locator项目提供的 IServiceLocator 接口来完成。
3,由于错误配置引发的错误将提供更多有用的错误信息。
4.配置系统公开了一个
fluent接口,用来为单个对象或整个应用创建和填充配置源。fluent API使得为各种情景创建配置源更加容易。
5.ConfigurationView类被删除.
6.一些配置元素有默认值,可能不同于以前版本的隐式默认值.
7.企业库允许你通过另一个配置文件合成一个混合配置文件.
8.可以可通过不同的配置文件读取不同的配置信息.
9.企业库不支持XAML浏览器应用程序(
XBAP).
10.WmiEnabled标志为了像前兼容仍然存在企业库中,但是在5.0中是被忽略的,而且将来会被删除.
11.改进式的安装允许你只安装部分应用模块及配置工具.
12.在以前版本中要做统一集成,必须添加核心企业库的扩展和每个模块的扩展。如果你只需要直接访问容器,那么只有核心扩展是必须的。单独模块将自动支持。
旧的功能为了保持像前兼容仍然保留,但已经不起作用。
13.FileConfigurationSource.Save 的签名已经改变,参数由3个变为2个。
14.快速入门不再包含在主安装程序中。
Breaking变化:
1.企业库抛出了一个配置错误ActivationException,之前是System.Configuration.ConfigurationErrorsException。这包括试着解决没有配置信息错误的一个实例提供者。
2.以前版本在获取应用模块错误时抛出BuildFailedException错误,对于所有的应用模块都抛出ActivationException
3 .之前的版本,在讲一个空源传到容器来调用容器的时候,会抛出ArgumentNullException,抛出NullReferenceException
4.ObjectBuilder2不再是一个单独的
程序集,而是集成到了Unity集合中,在项目中也不需要引用ObjectBuilder2.dll。
5。WMI支持已经从企业库中删除,除了在logging模块中的WMI跟踪监听器。
6,如果你没有关闭DbDataReader,可能会导致随机的、很难在您的代码中找到的错误,尤其是当你正在一个由TransactionScope上下文创建的隐式
事务下操作时。
你必须始终确保您的应用程序及时关闭DbDataReader,无论是明确的DbDataReader.Close方法关闭或是逼迫DbDataReader释放。
7。如果你使用 validator 特性必须引用 System.ComponentModel.DataAnnotations
程序集。
8。为FileConfigurationSource.Save方法签名已更改。该方法有两个参数,而不是3个参数
9, Microsoft.Practices.EnterpriseLibrary.Configuration.Design.dll集合的功能和其他设计时集合被一个新的集合Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll代替。
10,性能计数器异常从PolicyInjection.CallHandlers移到 PolicyInjection
程序集。
11。包含在Policy Injection Application Block中的CachingCallHandler有未处理的安全漏洞,已经从Policy Injection Application Block中移除。
配置工具的改变:
1.新的企业拥有一个新的GUI库和一个元数据驱动的可扩展性模。
2.支持向导
3。新的类型选择。
4.不支持对依赖策略的Environmental Overrides 。日志模块处理Categories。
缓存模块变化:
1.缓存清除已被完全重写的性能优化
数据库访问模块:
1。ExecuteReader, ExecuteXmlReader, ExecuteScalar, and ExecuteNonQuery方法具有异步版本。
2.包含了很多新的方法和类允许你提取数据作为对象序列。例如在合适的时候使用客户端查询技术,如LINQ.
3.存在的方法ExecuteReader和新的方法BeginExecuteReader不接收CommandBehavior 参数。默认的当调用这些方法的时候这些方法
会自动设置CommandBehavior 属性到reder中用来关闭连接直到指定一个
事务。
1.日志异常处理重新使用日志模块的Log Writer and Trace Listeners 。这在之前版本中不是默认设置。
2.增加一个功能,通过ExceptionManager.Process 方法接收一个默认值并返回一个值。